From: Joey Hess Date: Tue, 23 Sep 2025 17:55:13 +0000 (-0400) Subject: clean up imports needed by old versions of ghc X-Git-Tag: archive/raspbian/10.20251029-1+rpi1~1^2~3^2~67 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=6fcccbba1991664f5f4c89676173e72e8a552998;p=git-annex.git clean up imports needed by old versions of ghc Now that ghc 9.0.2 is the oldest supported version. Eg cruft from https://web.archive.org/web/20190424185034/https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid Sponsored-by: Jack Hill --- diff --git a/Annex/Balanced.hs b/Annex/Balanced.hs index e114c1f893..c6b1428728 100644 --- a/Annex/Balanced.hs +++ b/Annex/Balanced.hs @@ -12,11 +12,10 @@ import Types.UUID import Utility.Hash import Data.Maybe +import Data.List import Data.Bits (shiftL) import qualified Data.Set as S import qualified Data.ByteArray as BA -import Data.List -import Prelude -- The Int is how many UUIDs to pick. type BalancedPicker = S.Set UUID -> Key -> Int -> [UUID] diff --git a/Annex/Import.hs b/Annex/Import.hs index 9ba4caf1b1..e510ea39de 100644 --- a/Annex/Import.hs +++ b/Annex/Import.hs @@ -75,8 +75,6 @@ import qualified Data.ByteArray.Encoding as BA #ifdef mingw32_HOST_OS import qualified System.FilePath.Posix as Posix #endif -import qualified Data.Semigroup as Sem -import Prelude {- Configures how to build an import tree. -} data ImportTreeConfig @@ -517,7 +515,7 @@ data ImportResult t -- import. newtype PostExportLogUpdate = PostExportLogUpdate (Annex ()) -instance Sem.Semigroup PostExportLogUpdate where +instance Semigroup PostExportLogUpdate where PostExportLogUpdate a <> PostExportLogUpdate b = PostExportLogUpdate (a >> b) diff --git a/Annex/MetaData/StandardFields.hs b/Annex/MetaData/StandardFields.hs index 061133b41c..cb57ceb817 100644 --- a/Annex/MetaData/StandardFields.hs +++ b/Annex/MetaData/StandardFields.hs @@ -22,8 +22,6 @@ module Annex.MetaData.StandardFields ( import Types.MetaData import qualified Data.Text as T -import Data.Monoid -import Prelude tagMetaField :: MetaField tagMetaField = mkMetaFieldUnchecked "tag" diff --git a/Assistant/Gpg.hs b/Assistant/Gpg.hs index e6391d179d..8bf96feecf 100644 --- a/Assistant/Gpg.hs +++ b/Assistant/Gpg.hs @@ -16,8 +16,6 @@ import Types.ProposedAccepted import Data.Maybe import qualified Data.Map as M -import Control.Applicative -import Prelude {- Generates a gpg user id that is not used by any existing secret key -} newUserId :: GpgCmd -> IO UserId diff --git a/Assistant/Types/BranchChange.hs b/Assistant/Types/BranchChange.hs index 1f4128b754..8e2f6db165 100644 --- a/Assistant/Types/BranchChange.hs +++ b/Assistant/Types/BranchChange.hs @@ -8,8 +8,6 @@ module Assistant.Types.BranchChange where import Control.Concurrent.MSampleVar -import Control.Applicative -import Prelude newtype BranchChangeHandle = BranchChangeHandle (MSampleVar ()) diff --git a/Build/Configure.hs b/Build/Configure.hs index 4b1a0594f9..25b9bec43b 100644 --- a/Build/Configure.hs +++ b/Build/Configure.hs @@ -15,8 +15,6 @@ import Utility.OsPath import qualified Utility.FileIO as F import Control.Monad -import Control.Applicative -import Prelude tests :: [TestCase] tests = diff --git a/Build/DesktopFile.hs b/Build/DesktopFile.hs index ad066a8937..099bd30225 100644 --- a/Build/DesktopFile.hs +++ b/Build/DesktopFile.hs @@ -22,7 +22,6 @@ import Assistant.Install.Menu import System.Environment #ifndef mingw32_HOST_OS import System.Posix.User -import Prelude #endif systemwideInstall :: IO Bool diff --git a/Build/LinuxMkLibs.hs b/Build/LinuxMkLibs.hs index 065ac3b1ea..e0eeedecc4 100644 --- a/Build/LinuxMkLibs.hs +++ b/Build/LinuxMkLibs.hs @@ -9,14 +9,12 @@ module Build.LinuxMkLibs (mklibs) where -import Data.Maybe import Control.Monad -import Data.List import System.Posix.Files import Control.Monad.IfElse -import Control.Applicative import qualified System.Info -import Prelude +import Data.List +import Data.Maybe import Utility.LinuxMkLibs import Utility.OsPath diff --git a/Build/Mans.hs b/Build/Mans.hs index e4693a0fab..e7a6ce32c9 100644 --- a/Build/Mans.hs +++ b/Build/Mans.hs @@ -17,8 +17,6 @@ import Control.Monad import System.Exit import Data.Maybe import Utility.Exception -import Control.Applicative -import Prelude buildMansOrWarn :: IO () buildMansOrWarn = do diff --git a/Build/OSXMkLibs.hs b/Build/OSXMkLibs.hs index 6ca0d7d05e..f05c1f086a 100644 --- a/Build/OSXMkLibs.hs +++ b/Build/OSXMkLibs.hs @@ -16,7 +16,6 @@ import Control.Monad.IfElse import Data.List import Control.Applicative import System.Posix.Files -import Prelude import Utility.PartialPrelude import Utility.OsPath diff --git a/Build/Version.hs b/Build/Version.hs index 216f3133bb..687f0732cb 100644 --- a/Build/Version.hs +++ b/Build/Version.hs @@ -8,8 +8,6 @@ module Build.Version where import Data.List import System.Environment import Data.Char -import Control.Applicative -import Prelude import Utility.Monad import Utility.Exception diff --git a/Command/Info.hs b/Command/Info.hs index d2f690027a..689fb2b130 100644 --- a/Command/Info.hs +++ b/Command/Info.hs @@ -17,8 +17,6 @@ import qualified Data.Vector as V import Data.ByteString.Short (fromShort) import System.PosixCompat.Files (isDirectory) import Data.Ord -import qualified Data.Semigroup as Sem -import Prelude import Command import qualified Git @@ -68,7 +66,7 @@ data KeyInfo = KeyInfo , backendsKeys :: M.Map KeyVariety Integer } -instance Sem.Semigroup KeyInfo where +instance Semigroup KeyInfo where a <> b = KeyInfo { countKeys = countKeys a + countKeys b , sizeKeys = sizeKeys a + sizeKeys b diff --git a/Database/Keys/Handle.hs b/Database/Keys/Handle.hs index 70e28ab441..c784970c9c 100644 --- a/Database/Keys/Handle.hs +++ b/Database/Keys/Handle.hs @@ -22,8 +22,6 @@ import Utility.DebugLocks import Control.Concurrent import Control.Monad.IO.Class (liftIO, MonadIO) -import Control.Applicative -import Prelude -- The MVar is always left full except when actions are run -- that access the database. diff --git a/Database/Keys/Tables.hs b/Database/Keys/Tables.hs index ab6a4fb757..d639e66211 100644 --- a/Database/Keys/Tables.hs +++ b/Database/Keys/Tables.hs @@ -7,10 +7,6 @@ module Database.Keys.Tables where -import Data.Monoid -import qualified Data.Semigroup as Sem -import Prelude - data DbTable = AssociatedTable | ContentTable deriving (Eq, Show) @@ -20,7 +16,7 @@ data DbTablesChanged = DbTablesChanged } deriving (Show) -instance Sem.Semigroup DbTablesChanged where +instance Semigroup DbTablesChanged where a <> b = DbTablesChanged { associatedTable = associatedTable a || associatedTable b , contentTable = contentTable a || contentTable b diff --git a/Database/Queue.hs b/Database/Queue.hs index 0f3f5233ba..98fe9c48a4 100644 --- a/Database/Queue.hs +++ b/Database/Queue.hs @@ -27,8 +27,6 @@ import Database.Handle import Database.Persist.Sqlite import Control.Concurrent import Data.Time.Clock -import Control.Applicative -import Prelude {- A DbQueue wraps a DbHandle, adding a queue of writes to perform. - diff --git a/Git/Fsck.hs b/Git/Fsck.hs index 18f7350c02..1cbf28dae6 100644 --- a/Git/Fsck.hs +++ b/Git/Fsck.hs @@ -26,8 +26,6 @@ import Utility.Batch import qualified Data.Set as S import Control.Concurrent.Async -import qualified Data.Semigroup as Sem -import Prelude data FsckResults = FsckFoundMissing @@ -56,7 +54,7 @@ appendFsckOutput AllDuplicateEntriesWarning AllDuplicateEntriesWarning = AllDupl appendFsckOutput AllDuplicateEntriesWarning NoFsckOutput = AllDuplicateEntriesWarning appendFsckOutput NoFsckOutput AllDuplicateEntriesWarning = AllDuplicateEntriesWarning -instance Sem.Semigroup FsckOutput where +instance Semigroup FsckOutput where (<>) = appendFsckOutput instance Monoid FsckOutput where diff --git a/Git/Quote.hs b/Git/Quote.hs index 24b616de4e..51dc37ffd0 100644 --- a/Git/Quote.hs +++ b/Git/Quote.hs @@ -28,8 +28,6 @@ import Data.Char import Data.Word import Data.String import qualified Data.ByteString as S -import qualified Data.Semigroup as Sem -import Prelude unquote :: S.ByteString -> RawFilePath unquote b = case S.uncons b of @@ -108,7 +106,7 @@ instance Quoteable StringContainingQuotedPath where instance IsString StringContainingQuotedPath where fromString = UnquotedByteString . encodeBS -instance Sem.Semigroup StringContainingQuotedPath where +instance Semigroup StringContainingQuotedPath where UnquotedString a <> UnquotedString b = UnquotedString (a <> b) UnquotedByteString a <> UnquotedByteString b = UnquotedByteString (a <> b) a <> b = a :+: b diff --git a/Git/Types.hs b/Git/Types.hs index fd63d987bf..388db43b3b 100644 --- a/Git/Types.hs +++ b/Git/Types.hs @@ -21,8 +21,6 @@ import qualified Data.Map as M import qualified Data.ByteString as S import qualified Data.List.NonEmpty as NE import System.Posix.Types -import qualified Data.Semigroup as Sem -import Prelude {- Support repositories on local disk, and repositories accessed via an URL. - @@ -81,7 +79,7 @@ data ConfigValue -- with an empty value deriving (Ord, Eq) -instance Sem.Semigroup ConfigValue where +instance Semigroup ConfigValue where ConfigValue a <> ConfigValue b = ConfigValue (a <> b) a <> NoConfigValue = a NoConfigValue <> b = b diff --git a/Logs/MapLog.hs b/Logs/MapLog.hs index 4ef338b740..ca7d1e4b82 100644 --- a/Logs/MapLog.hs +++ b/Logs/MapLog.hs @@ -28,8 +28,6 @@ import qualified Data.Attoparsec.ByteString as A import qualified Data.Attoparsec.ByteString.Lazy as AL import qualified Data.Attoparsec.ByteString.Char8 as A8 import Data.ByteString.Builder -import qualified Data.Semigroup as Sem -import Prelude data LogEntry v = LogEntry { changed :: VectorClock @@ -42,7 +40,7 @@ instance Arbitrary v => Arbitrary (LogEntry v) where newtype MapLog f v = MapLog (M.Map f (LogEntry v)) deriving (Show, Eq) -instance Ord f => Sem.Semigroup (MapLog f v) +instance Ord f => Semigroup (MapLog f v) where a <> MapLog b = foldl' (\m (f, v) -> addMapLog f v m) a (M.toList b) diff --git a/Messages/JSON.hs b/Messages/JSON.hs index 540ba1e9ec..4b7284173e 100644 --- a/Messages/JSON.hs +++ b/Messages/JSON.hs @@ -31,7 +31,6 @@ module Messages.JSON ( module Utility.Aeson, ) where -import Control.Applicative import qualified Data.Map as M import qualified Data.Vector as V import qualified Data.ByteString as S @@ -41,8 +40,6 @@ import System.IO import System.IO.Unsafe (unsafePerformIO) import Control.Concurrent import Data.Maybe -import Data.Monoid -import Prelude import Types.Command (SeekInput(..)) import Types.ActionItem diff --git a/P2P/Http/State.hs b/P2P/Http/State.hs index 0a77ea9772..44a2588b57 100644 --- a/P2P/Http/State.hs +++ b/P2P/Http/State.hs @@ -44,8 +44,6 @@ import qualified Data.Map.Strict as M import qualified Data.Set as S import Control.Concurrent.Async import Data.Time.Clock.POSIX -import qualified Data.Semigroup as Sem -import Prelude data P2PHttpServerState = P2PHttpServerState { servedRepos :: M.Map UUID PerRepoServerState @@ -62,7 +60,7 @@ instance Monoid P2PHttpServerState where , updateRepos = const mempty } -instance Sem.Semigroup P2PHttpServerState where +instance Semigroup P2PHttpServerState where a <> b = P2PHttpServerState { servedRepos = servedRepos a <> servedRepos b , serverShutdownCleanup = do diff --git a/P2P/Protocol.hs b/P2P/Protocol.hs index 8eb602d00b..21d40c2481 100644 --- a/P2P/Protocol.hs +++ b/P2P/Protocol.hs @@ -44,9 +44,7 @@ import qualified Data.Set as S import Data.Char import Data.Maybe import Data.Time.Clock.POSIX -import Control.Applicative import Control.DeepSeq -import Prelude newtype Offset = Offset Integer deriving (Show, Eq, NFData, Num, Real, Ord, Enum, Integral) diff --git a/Types/DeferredParse.hs b/Types/DeferredParse.hs index 9566caefd5..11f3e81a71 100644 --- a/Types/DeferredParse.hs +++ b/Types/DeferredParse.hs @@ -12,8 +12,6 @@ module Types.DeferredParse where import Annex import Options.Applicative -import qualified Data.Semigroup as Sem -import Prelude -- Some values cannot be fully parsed without performing an action. -- The action may be expensive, so it's best to call finishParse on such a @@ -47,7 +45,7 @@ data AnnexSetter = AnnexSetter , annexReadSetter :: AnnexRead -> AnnexRead } -instance Sem.Semigroup AnnexSetter where +instance Semigroup AnnexSetter where a <> b = AnnexSetter { annexStateSetter = annexStateSetter a >> annexStateSetter b , annexReadSetter = annexReadSetter b . annexReadSetter a diff --git a/Types/DesktopNotify.hs b/Types/DesktopNotify.hs index bf836acdac..af15b2fd15 100644 --- a/Types/DesktopNotify.hs +++ b/Types/DesktopNotify.hs @@ -7,17 +7,13 @@ module Types.DesktopNotify where -import Data.Monoid -import qualified Data.Semigroup as Sem -import Prelude - data DesktopNotify = DesktopNotify { notifyStart :: Bool , notifyFinish :: Bool } deriving (Show) -instance Sem.Semigroup DesktopNotify where +instance Semigroup DesktopNotify where (DesktopNotify s1 f1) <> (DesktopNotify s2 f2) = DesktopNotify (s1 || s2) (f1 || f2) diff --git a/Types/Difference.hs b/Types/Difference.hs index 167963a3cd..620f4c54b7 100644 --- a/Types/Difference.hs +++ b/Types/Difference.hs @@ -26,11 +26,8 @@ import qualified Git.Config import Git.Types import Data.Maybe -import Data.Monoid import qualified Data.ByteString as B import qualified Data.Set as S -import qualified Data.Semigroup as Sem -import Prelude -- Describes differences from the standard repository format. -- @@ -85,7 +82,7 @@ appendDifferences a@(Differences {}) b@(Differences {}) = a } appendDifferences _ _ = UnknownDifferences -instance Sem.Semigroup Differences where +instance Semigroup Differences where (<>) = appendDifferences instance Monoid Differences where diff --git a/Types/Distribution.hs b/Types/Distribution.hs index 7616efc9e7..053187c66e 100644 --- a/Types/Distribution.hs +++ b/Types/Distribution.hs @@ -14,9 +14,6 @@ import Key import Data.Time.Clock import Git.Config (isTrueFalse, boolConfig) -import Control.Applicative -import Prelude - type GitAnnexVersion = String data GitAnnexDistribution = GitAnnexDistribution diff --git a/Types/GitRemoteAnnex.hs b/Types/GitRemoteAnnex.hs index 07b4135b82..5d2443acd7 100644 --- a/Types/GitRemoteAnnex.hs +++ b/Types/GitRemoteAnnex.hs @@ -14,7 +14,6 @@ module Types.GitRemoteAnnex import Types.Key -import qualified Data.Semigroup as Sem import qualified Data.Set as S -- The manifest contains an ordered list of git bundle keys. @@ -39,7 +38,7 @@ mkManifest inks outks = Manifest inks (S.filter (`notElem` inks) outks) instance Monoid Manifest where mempty = Manifest mempty mempty -instance Sem.Semigroup Manifest where +instance Semigroup Manifest where a <> b = mkManifest (inManifest a <> inManifest b) (S.union (outManifest a) (outManifest b)) diff --git a/Types/Key.hs b/Types/Key.hs index 69f1c4fe1e..35b42ee159 100644 --- a/Types/Key.hs +++ b/Types/Key.hs @@ -42,11 +42,9 @@ import Data.List import Data.Char import System.Posix.Types import Foreign.C.Types -import Data.Monoid import Control.Applicative import GHC.Generics import Control.DeepSeq -import Prelude {- A Key has a unique name, which is derived from a particular backend, - and may contain other optional metadata. -} diff --git a/Types/Transfer.hs b/Types/Transfer.hs index 853237e254..97d6131b41 100644 --- a/Types/Transfer.hs +++ b/Types/Transfer.hs @@ -23,8 +23,6 @@ import Utility.OsPath import Data.Time.Clock.POSIX import Control.Concurrent -import Control.Applicative -import Prelude {- Enough information to uniquely identify a transfer. -} data Transfer = Transfer diff --git a/Types/UUID.hs b/Types/UUID.hs index 63eef53a43..609ad43c08 100644 --- a/Types/UUID.hs +++ b/Types/UUID.hs @@ -20,7 +20,6 @@ import Data.Maybe import Data.String import Data.ByteString.Builder import Control.DeepSeq -import qualified Data.Semigroup as Sem import Common import Git.Types (ConfigValue(..)) @@ -115,7 +114,7 @@ isUUID = isJust . U.fromString -- A description of a UUID. newtype UUIDDesc = UUIDDesc B.ByteString - deriving (Eq, Sem.Semigroup, Monoid, IsString) + deriving (Eq, Semigroup, Monoid, IsString) fromUUIDDesc :: UUIDDesc -> String fromUUIDDesc (UUIDDesc d) = decodeBS d diff --git a/Types/VectorClock.hs b/Types/VectorClock.hs index 91ffe2ca66..a8df449e92 100644 --- a/Types/VectorClock.hs +++ b/Types/VectorClock.hs @@ -8,8 +8,6 @@ module Types.VectorClock where import Data.Time.Clock.POSIX -import Control.Applicative -import Prelude import Utility.QuickCheck diff --git a/Utility/Aeson.hs b/Utility/Aeson.hs index 5de512d314..1424938d0e 100644 --- a/Utility/Aeson.hs +++ b/Utility/Aeson.hs @@ -30,7 +30,6 @@ import qualified Data.ByteString as S import qualified Data.Set import qualified Data.Map import qualified Data.Vector -import Prelude import Utility.FileSystemEncoding #ifdef WITH_OSPATH diff --git a/Utility/Debug.hs b/Utility/Debug.hs index 6e6e701162..e327041423 100644 --- a/Utility/Debug.hs +++ b/Utility/Debug.hs @@ -23,8 +23,6 @@ import Data.IORef import Data.String import Data.Time import System.IO.Unsafe (unsafePerformIO) -import qualified Data.Semigroup as Sem -import Prelude import Utility.FileSystemEncoding @@ -41,7 +39,7 @@ data DebugSelector = DebugSelector (DebugSource -> Bool) | NoDebugSelector -instance Sem.Semigroup DebugSelector where +instance Semigroup DebugSelector where DebugSelector a <> DebugSelector b = DebugSelector (\v -> a v || b v) NoDebugSelector <> NoDebugSelector = NoDebugSelector NoDebugSelector <> b = b diff --git a/Utility/Directory.hs b/Utility/Directory.hs index 0051dd75fc..1181eaf7f5 100644 --- a/Utility/Directory.hs +++ b/Utility/Directory.hs @@ -19,10 +19,7 @@ import Utility.SystemDirectory #endif import Control.Monad import System.PosixCompat.Files (isDirectory, isSymbolicLink) -import Control.Applicative import System.IO.Unsafe (unsafeInterleaveIO) -import Data.Maybe -import Prelude import Utility.OsPath import Utility.Exception diff --git a/Utility/Directory/Create.hs b/Utility/Directory/Create.hs index 5aad1fb63a..179e0da8cd 100644 --- a/Utility/Directory/Create.hs +++ b/Utility/Directory/Create.hs @@ -15,12 +15,9 @@ module Utility.Directory.Create ( ) where import Control.Monad -import Control.Applicative import Control.Monad.IO.Class import Control.Monad.IfElse import System.IO.Error -import Data.Maybe -import Prelude import Utility.SystemDirectory import Utility.Path.AbsRel diff --git a/Utility/Directory/Stream.hs b/Utility/Directory/Stream.hs index 8ae6b32e40..4b4c9b125e 100644 --- a/Utility/Directory/Stream.hs +++ b/Utility/Directory/Stream.hs @@ -21,7 +21,6 @@ module Utility.Directory.Stream ( import Control.Monad import Control.Concurrent import Data.Maybe -import Prelude #ifdef mingw32_HOST_OS import qualified System.Win32 as Win32 diff --git a/Utility/Env.hs b/Utility/Env.hs index 9847326940..651234c0bb 100644 --- a/Utility/Env.hs +++ b/Utility/Env.hs @@ -21,7 +21,6 @@ module Utility.Env ( import Utility.Exception import Control.Applicative import Data.Maybe -import Prelude import qualified System.Environment as E #else import qualified System.Posix.Env as PE diff --git a/Utility/Env/Basic.hs b/Utility/Env/Basic.hs index db738270f7..77eb5604ce 100644 --- a/Utility/Env/Basic.hs +++ b/Utility/Env/Basic.hs @@ -13,9 +13,7 @@ module Utility.Env.Basic ( ) where import Utility.Exception -import Control.Applicative import Data.Maybe -import Prelude import qualified System.Environment as E getEnv :: String -> IO (Maybe String) diff --git a/Utility/HumanTime.hs b/Utility/HumanTime.hs index 5178531cf8..1c057610f2 100644 --- a/Utility/HumanTime.hs +++ b/Utility/HumanTime.hs @@ -23,8 +23,6 @@ import qualified Data.Map as M import Data.Time.Clock import Data.Time.Clock.POSIX (POSIXTime) import Data.Char -import Control.Applicative -import Prelude newtype Duration = Duration { durationSeconds :: Integer } deriving (Eq, Ord, Read, Show) diff --git a/Utility/IPAddress.hs b/Utility/IPAddress.hs index 66e00a47be..e19cecac1d 100644 --- a/Utility/IPAddress.hs +++ b/Utility/IPAddress.hs @@ -23,9 +23,7 @@ import Network.Socket import Data.Word import Data.Memory.Endian import Data.List -import Control.Applicative import Text.Printf -import Prelude extractIPAddress :: SockAddr -> Maybe String extractIPAddress (SockAddrInet _ ipv4) = diff --git a/Utility/LinuxMkLibs.hs b/Utility/LinuxMkLibs.hs index cce5ca99bf..3d3ddfdc96 100644 --- a/Utility/LinuxMkLibs.hs +++ b/Utility/LinuxMkLibs.hs @@ -33,8 +33,6 @@ import Data.Maybe import System.Posix.Files (isSymbolicLink) import Data.Char import Control.Monad.IfElse -import Control.Applicative -import Prelude {- Installs a library. If the library is a symlink to another file, - install the file it links to, and update the symlink to be relative. -} diff --git a/Utility/LockFile/PidLock.hs b/Utility/LockFile/PidLock.hs index 6cd556b34c..6c1309503c 100644 --- a/Utility/LockFile/PidLock.hs +++ b/Utility/LockFile/PidLock.hs @@ -55,8 +55,6 @@ import Control.Monad.IO.Class (liftIO, MonadIO) import Data.Maybe import Data.List import Network.BSD -import Control.Applicative -import Prelude type PidLockFile = OsPath diff --git a/Utility/LockPool/LockHandle.hs b/Utility/LockPool/LockHandle.hs index 6b3a2ef93d..de0878cb4f 100644 --- a/Utility/LockPool/LockHandle.hs +++ b/Utility/LockPool/LockHandle.hs @@ -25,7 +25,6 @@ import Utility.DebugLocks import Control.Concurrent.STM import Control.Monad.Catch import Control.Monad.IO.Class (liftIO, MonadIO) -import Prelude data LockHandle = LockHandle P.LockHandle FileLockOps diff --git a/Utility/LockPool/PidLock.hs b/Utility/LockPool/PidLock.hs index 87f1f1a214..631dad1bf4 100644 --- a/Utility/LockPool/PidLock.hs +++ b/Utility/LockPool/PidLock.hs @@ -25,15 +25,12 @@ import Utility.LockPool.STM (LockFile, LockMode(..)) import Utility.LockPool.LockHandle import Utility.ThreadScheduler -import System.IO import System.Posix import Control.Concurrent.STM import Data.Maybe import Control.Monad import Control.Monad.Catch import Control.Monad.IO.Class -import Control.Applicative -import Prelude -- Does locking using a pid lock, blocking until the lock is available -- or the Seconds timeout if the pid lock is held by another process. diff --git a/Utility/LockPool/Posix.hs b/Utility/LockPool/Posix.hs index 59aaa4e102..2e6633d1b7 100644 --- a/Utility/LockPool/Posix.hs +++ b/Utility/LockPool/Posix.hs @@ -26,11 +26,7 @@ import Utility.LockPool.STM (LockFile, LockMode(..)) import Utility.LockPool.LockHandle import Utility.FileMode -import System.IO import System.Posix -import Data.Maybe -import Control.Applicative -import Prelude -- Takes a shared lock, blocking until the lock is available. lockShared :: Maybe ModeSetter -> LockFile -> IO LockHandle diff --git a/Utility/MagicWormhole.hs b/Utility/MagicWormhole.hs index 8aa950ef7d..85f8151694 100644 --- a/Utility/MagicWormhole.hs +++ b/Utility/MagicWormhole.hs @@ -38,8 +38,6 @@ import Control.Concurrent import Control.Concurrent.Async import Data.Char import Data.List -import Control.Applicative -import Prelude -- | A Magic Wormhole code. newtype Code = Code String diff --git a/Utility/Misc.hs b/Utility/Misc.hs index c81ca21f28..4ed4782214 100644 --- a/Utility/Misc.hs +++ b/Utility/Misc.hs @@ -34,12 +34,10 @@ import Foreign import Data.Char import Data.List import System.Exit -import Control.Applicative import qualified Data.ByteString as S import qualified Data.ByteString.Char8 as S8 import qualified Data.ByteString.Lazy as L import qualified Data.ByteString.Lazy.Char8 as L8 -import Prelude {- A version of hgetContents that is not lazy. Ensures file is - all read before it gets closed. -} diff --git a/Utility/MoveFile.hs b/Utility/MoveFile.hs index e327e0b4f1..a39e3bf094 100644 --- a/Utility/MoveFile.hs +++ b/Utility/MoveFile.hs @@ -15,7 +15,6 @@ module Utility.MoveFile ( import Control.Monad import System.IO.Error -import Prelude #ifndef mingw32_HOST_OS import System.PosixCompat.Files (isDirectory) diff --git a/Utility/Network.hs b/Utility/Network.hs index 23487b1bcb..dcdf0dc100 100644 --- a/Utility/Network.hs +++ b/Utility/Network.hs @@ -12,9 +12,6 @@ module Utility.Network (getHostname) where import Utility.Process import Utility.Exception -import Control.Applicative -import Prelude - {- Haskell lacks uname(2) bindings, except in the - Bindings.Uname addon. Rather than depend on that, - use uname -n when available. -} diff --git a/Utility/OptParse.hs b/Utility/OptParse.hs index c81517edfb..93336309b5 100644 --- a/Utility/OptParse.hs +++ b/Utility/OptParse.hs @@ -11,8 +11,6 @@ module Utility.OptParse ( ) where import Options.Applicative -import Data.Monoid -import Prelude -- | A switch that can be enabled using --foo and disabled using --no-foo. -- diff --git a/Utility/Path.hs b/Utility/Path.hs index 18abcb250d..a892fb110e 100644 --- a/Utility/Path.hs +++ b/Utility/Path.hs @@ -31,8 +31,6 @@ import qualified Data.ByteString as B import Data.List import Data.Maybe import Control.Monad -import Control.Applicative -import Prelude import Author import Utility.Monad diff --git a/Utility/Path/AbsRel.hs b/Utility/Path/AbsRel.hs index f3458b3618..b0622e4174 100644 --- a/Utility/Path/AbsRel.hs +++ b/Utility/Path/AbsRel.hs @@ -18,8 +18,6 @@ module Utility.Path.AbsRel ( ) where import qualified Data.ByteString as B -import Control.Applicative -import Prelude import Utility.Path import Utility.UserInfo diff --git a/Utility/Path/Max.hs b/Utility/Path/Max.hs index 11c0ea2d75..253a84d91c 100644 --- a/Utility/Path/Max.hs +++ b/Utility/Path/Max.hs @@ -13,9 +13,6 @@ module Utility.Path.Max (fileNameLengthLimit) where #ifndef mingw32_HOST_OS import Utility.Exception import System.Posix.Files -import Data.List -import Control.Applicative -import Prelude #endif {- Maximum size to use for a file in a specified directory. diff --git a/Utility/Path/Tests.hs b/Utility/Path/Tests.hs index e7df275bd3..d3de144dd9 100644 --- a/Utility/Path/Tests.hs +++ b/Utility/Path/Tests.hs @@ -17,11 +17,6 @@ module Utility.Path.Tests ( prop_dirContains_regressionTest, ) where -import Data.List -import Data.Maybe -import Control.Applicative -import Prelude - import Common import Utility.QuickCheck import qualified Utility.OsString as OS diff --git a/Utility/Process/Transcript.hs b/Utility/Process/Transcript.hs index 0dd4153372..f017348e40 100644 --- a/Utility/Process/Transcript.hs +++ b/Utility/Process/Transcript.hs @@ -24,11 +24,8 @@ import Control.Monad import Control.Exception import qualified System.Posix.IO import GHC.IO.Encoding (getLocaleEncoding) -#else -import Control.Applicative #endif import Data.Maybe -import Prelude -- | Runs a process and returns a transcript combining its stdout and -- stderr, and whether it succeeded or failed. diff --git a/Utility/QuickCheck.hs b/Utility/QuickCheck.hs index a2ff2dd457..270341e9cb 100644 --- a/Utility/QuickCheck.hs +++ b/Utility/QuickCheck.hs @@ -24,7 +24,6 @@ import Data.Ratio import Data.Char import System.Posix.Types import Data.List.NonEmpty (NonEmpty(..)) -import Prelude {- A String, but Arbitrary is limited to ascii. - diff --git a/Utility/SafeCommand.hs b/Utility/SafeCommand.hs index aa96bda0ea..627526fc22 100644 --- a/Utility/SafeCommand.hs +++ b/Utility/SafeCommand.hs @@ -26,9 +26,6 @@ import Utility.Process import System.Exit import System.FilePath import Data.Char -import Data.List -import Control.Applicative -import Prelude -- | Parameters that can be passed to a shell command. data CommandParam diff --git a/Utility/Scheduled.hs b/Utility/Scheduled.hs index 7dacdc7ec6..ba32b0d42d 100644 --- a/Utility/Scheduled.hs +++ b/Utility/Scheduled.hs @@ -40,8 +40,6 @@ import Data.Time.Calendar.WeekDate import Data.Time.Calendar.OrdinalDate import Data.Time.Format () import Data.Char -import Control.Applicative -import Prelude {- Some sort of scheduled event. -} data Schedule = Schedule Recurrence ScheduledTime diff --git a/Utility/Scheduled/QuickCheck.hs b/Utility/Scheduled/QuickCheck.hs index c8d4955af7..62aa7b2e65 100644 --- a/Utility/Scheduled/QuickCheck.hs +++ b/Utility/Scheduled/QuickCheck.hs @@ -12,9 +12,6 @@ module Utility.Scheduled.QuickCheck (prop_schedule_roundtrips) where import Utility.Scheduled import Utility.QuickCheck -import Control.Applicative -import Prelude - instance Arbitrary Schedule where arbitrary = Schedule <$> arbitrary <*> arbitrary diff --git a/Utility/ShellEscape.hs b/Utility/ShellEscape.hs index bd4a921e5a..d584985233 100644 --- a/Utility/ShellEscape.hs +++ b/Utility/ShellEscape.hs @@ -18,10 +18,9 @@ module Utility.ShellEscape ( import Author import Utility.QuickCheck import Utility.Split -import Data.Function +import Data.Function import Data.List -import Prelude copyright :: Copyright copyright = author JoeyHess (2000+30-20) diff --git a/Utility/UserInfo.hs b/Utility/UserInfo.hs index 827229d22c..248607fb4b 100644 --- a/Utility/UserInfo.hs +++ b/Utility/UserInfo.hs @@ -18,15 +18,12 @@ import Utility.Env.Basic import Utility.Exception #ifndef mingw32_HOST_OS import Utility.Data -import Control.Applicative import System.Posix.User #if MIN_VERSION_unix(2,8,0) import System.Posix.User.ByteString (UserEntry) #endif #endif -import Prelude - {- Current user's home directory. - - getpwent will fail on LDAP or NIS, so use HOME if set. -}